import { getQueryParams } from '@/utils';
import http from './http';

export default {
  /** 金额规则 */

  /**
   * 金额规则-分页查询列表
   * @param {*} params
   */
  getMoneyRuleList() {
    return http.get(`/mall/web/coupons/v1/money/list`).exec();
  },
  /**
   * 金额规则-新增金额规则
   * @param {*} params
   * @returns
   */
  addMoneyRule(params) {
    return http.post('/mall/web/coupons/v1/money', params).exec();
  },
  /**
   * 金额规则 - 修改金额规则
   * @param {*} params
   */
  modifyMoneyRule(params) {
    return http.post('/mall/web/coupons/v1/money/modify', params).exec();
  },

  /**
   * 优惠券 - 管理金额规则
   * @param {*} id 主键ID
   * @param {*} action 1-启用，2-失效，3-删除
   */
  manageMoneyRule(id, action) {
    return http
      .post('/mall/web/coupons/v1/money/manage', {
        couponMoneyId: id,
        operateType: action,
      })
      .exec();
  },

  /** 品类规则 */

  /**
   * 品类规则-查询
   * @param {*} params
   * @param {*} withloading
   * @returns
   */
  getCategoryRuleList(params) {
    return http
      .get(`/mall/web/coupons/v1/category/list?${getQueryParams(params)}`)
      .exec();
  },

  /**
   * 品类规则-新增支持品类规则
   * @param {*} params
   * @returns
   */
  addCategoryRule(params) {
    return http.post('/mall/web/coupons/v1/category', params).exec();
  },
  /**
   * 品类规则-新增支持品类规则
   * @param {*} params
   * @returns
   */
  modifyCategoryRule(params) {
    return http.post('/mall/web/coupons/v1/category/modify', params).exec();
  },
  /**
   * 品类规则-管理品类规则
   * @param {*} id
   * @param {*} action
   * @returns
   */
  manageCategoryRule(id, action) {
    return http
      .post('/mall/web/coupons/v1/category/manage', {
        couponCategoryId: id,
        operateType: action,
      })
      .exec();
  },

  /** 优惠券 */

  // 获取优惠券列表
  getCouponList(params = {}) {
    return http
      .get(`/mall/web/coupons/v1/coupon/list/page?${getQueryParams(params)}`)
      .exec();
  },

  // 优惠券管理列表 - 增加新券
  addCoupon(params) {
    return http.post('/mall/web/coupons/v1/coupon', params).exec();
  },

  // 优惠券-修改优惠券：名称，有效期，品类，金额规则支持修改，且是未激活的
  updateCoupon(params) {
    return http.post('/mall/web/coupons/v1/coupon/update', params).exec();
  },

  manageCoupon(couponId, operateType) {
    return http
      .post('/mall/web/coupons/v1/coupon/manage', { couponId, operateType })
      .exec();
  },
};
